package br.org.evento.entities;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import br.org.evento.entities.base.BaseEntity;
import br.org.evento.enums.Sexo;

@Entity
public class Inscrito extends BaseEntity {

	@Column( length = 11, nullable = false, unique = true )
	private String cpf;
	@Column( length = 150, nullable = false )
	private String nome;
	@Column( length = 30, nullable = false, unique = true )
	private String email;
	@Enumerated( EnumType.ORDINAL )
	@Column( length = 1 )
	private Sexo sexo;
	@Temporal( TemporalType.DATE )
	private Date nascimento;
	@Column( length = 11 )
	private String telefone;
	@Column( length = 11 )
	private String celular;
	@Column( length = 50 )
	private String instituicao;
	@Column( length = 200 )
	private String Endereco;
	@Column( length = 30 )
	private String cidade;
	@Column( length = 30 )
	private String estado;
	@OneToMany
	private List<Curso> cursos;
	@OneToMany
	private List<Palestra> palestras;
	@OneToMany
	private List<Aditivo> aditivos;
	@Column
	private double valor;
	@OneToOne
	private Boleto boleto;

	public String getCpf() {
		return cpf;
	}

	public void setCpf( String cpf ) {
		this.cpf = cpf;
	}

	public String getNome() {
		return nome;
	}

	public void setNome( String nome ) {
		this.nome = nome;
	}

	public Sexo getSexo() {
		return sexo;
	}

	public void setSexo( Sexo sexo ) {
		this.sexo = sexo;
	}

	public Date getNascimento() {
		return nascimento;
	}

	public void setNascimento( Date nascimento ) {
		this.nascimento = nascimento;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone( String telefone ) {
		this.telefone = telefone;
	}

	public String getInstituicao() {
		return instituicao;
	}

	public void setInstituicao( String instituicao ) {
		this.instituicao = instituicao;
	}

	public String getEndereco() {
		return Endereco;
	}

	public void setEndereco( String endereco ) {
		Endereco = endereco;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade( String cidade ) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado( String estado ) {
		this.estado = estado;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail( String email ) {
		this.email = email;
	}

	public List<Curso> getCursos() {
		return cursos;
	}

	public void setCursos( List<Curso> cursos ) {
		this.cursos = cursos;
	}

	public List<Palestra> getPalestras() {
		return palestras;
	}

	public void setPalestras( List<Palestra> palestras ) {
		this.palestras = palestras;
	}

	public List<Aditivo> getAditivos() {
		return aditivos;
	}

	public void setAditivos( List<Aditivo> aditivos ) {
		this.aditivos = aditivos;
	}

	public double getValor() {
		return valor;
	}

	public void setValor( double valor ) {
		this.valor = valor;
	}

	public String getCelular() {
		return celular;
	}

	public void setCelular( String celular ) {
		this.celular = celular;
	}

	public Boleto getBoleto() {
		return boleto;
	}

	public void setBoleto( Boleto boleto ) {
		this.boleto = boleto;
	}

}
